Application of Fortran Pthreads to Linear Algebra and Scientific Computing
نویسندگان
چکیده
Pthreads is a POSIX standard library for expressing concurrency on uniprocessor and symmetric multiprocessor computers. Typical multithreaded applications include database manipulation, operating systems, or any algorithm displaying task-level concurrency. These types of programs are generally coded in C. Hence, the POSIX standard only defines a C interface to Pthreads. The lack of a standard Fortran interface has limited the use of Pthreads for scientific and numerically intensive applications. However, many of these applications would benefit from multithreading. For example, the manipulation and solution of dense linear systems with 10,000 to 40,000 simultaneous equations are made up of many independent tasks that may be executed concurrently. The effectiveness of Fortran and Pthreads for scientific programming will be demonstrated using two linear algebra routines (matrix multiplication and Gaussian elimination) and two algorithms from the Command, Control, Communication, and Intelligence Benchmark. This work builds on the Fortran interface to Pthreads presented at the 40th Cray Users Group Conference.
منابع مشابه
Using Pthreads in Fortran
This article describes the way to use pthreads library in Fortran programs. With most of the modern day processors having more and more built in capability of parallelism, there is ample need of utilizing this power at the application level, especially in scientific applications which involves lots of number crunching and multi GB disk handling. To utilize the power of multi threading for scien...
متن کاملA Fortran 90 Application Programming Interface to the POSIX Threads Library
Pthreads is a POSIX standard established to control the spawning, execution, and termination of multiple threads within a single process. Because of a much lower system overhead, use of Pthreads is an attractive approach. Under this programming paradigm on a shared-memory system, threads execute concurrently within a single address space, although multiple processors may be employed to execute ...
متن کاملTowards a Fortran 90 Interface to the POSIX Threads Library
Pthreads is a POSIX standard established to control the spawning, execution and termination of multiple threads within a single process. Because of a much lower overhead, use of Pthreads is an attractive approach. Under this programming paradigm on a shared-memory system, threads execute within a single address space, although multiple processors may be employed to execute the various threads. ...
متن کاملERDC MSRC/PET TR/00-32 Practical Experiences with the Fortran Pthreads API
With the growing popularity of symmetric multiprocessors (SMPs), shared-memory programming models have become more important. Of particular relevance to scienti c programmers will be those paradigms that can be used within message-passing codes. POSIX Threads (Pthreads) is one such shared-memory programming model. While only de ned for use within C programs, the Fortran API to Pthreads (FPTHRD)...
متن کاملCtadel: A Generator of Efficient Numerical Codes Ctadel: A Generator of Efficient Numerical Codes
Algorithm Templates. According to Kant and Steinberg [82], linear solvers and related algorithms can be cast in the form of so-called algorithm templates. Templates are algebraic structures that capture the essentials of an algorithm, elaborated with problem-specific aspects, and can be transformed into a chosen target language. The SciNapse system [2] uses algorithm templates in the automatic ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1999